package top.z.orm.core.osql;

/**
 * 将多表查询的实体转成SQL语句
 */
public interface MoreObjToSQL {

    <T> String toSelectSQL(T entity);

    <T> String toSelectSQL(T entity, int start, int size);

    /**
     * 根据entity和Condition转换成sql语句
     *
     * @param entity    实体类对象,且不能为空
     * @param condition 默认有值的字段会转成field=value的形式,其它形式可通过condition指定.condition使用过的字段,默认情况不会再处理
     * @return Return the sql String
     */
    <T> String toSelectSQL(T entity, Condition condition);

}